1. Field of the Invention
This invention relates to computer networks, and, more particularly, to marking copies of content distributed on a network.
2. Description of the Related Art
The Internet, sometimes called simply “the Net,” is a worldwide system of computer networks in which a client at any one computer may, with permission, obtain information from any other computer. The most widely used part of the Internet is the World Wide Web, often abbreviated “WWW,” which is commonly referred to as “the Web.” The Web may be defined as all the resources (e.g., Web pages and Web sites) and users on the Internet that use the Hypertext Transfer Protocol (HTTP) or variations thereof to access the resources. A Web site is a related collection of Web files that includes a beginning file called a home page. From the home page, the user may navigate to other Web pages on the Web site. A Web server program is a program that, using the client/server model and HTTP, serves the files that form the Web pages of a Web site to the Web users, whose computers contain HTTP client programs (e.g., Web browsers) that forward requests and display responses. A Web server program may host one or more Web sites.
Web Services
As described above, the conventional Web model allows users to access Web resources (e.g., applications, services, and data) via an HTTP client program, such as a Web browser. A technology referred to as Web services has been developed to provide programmatic access to Web resources. Web services may be used to provide Web software developers programmatic access to Web resources including technology platforms (e.g., applications and services) and data (e.g., product catalogs and other databases) hosted on Web-connected computers such as Web server systems via a Web service interface. Generally speaking, a Web service interface may be configured to provide a standard, cross-platform API (Application Programming Interface) for communication between a client requesting some service to be performed and the service provider. In some embodiments, a Web service interface may be configured to support the exchange of documents or messages including information describing the service request and response to that request. Such documents, or messages, may be exchanged using standardized Web protocols, such as the Hypertext Transfer Protocol (HTTP), for example, and may be formatted in a platform-independent data format, such as eXtensible Markup Language (XML), for example.
FIG. 1 is a block diagram that illustrates an exemplary system configuration that provides a Web service interface, and shows the interaction between a Web service client and a Web service provider. In this example, a Web service interface 106 may be implemented on a server 130 coupled to Internet 100. This server 130 may be referred to as a “Web service provider.” Server 130, or alternatively one or more other servers coupled to server 130, may include one or more applications or services 108. Server 130 may be coupled to data storage 140 for storing information in database 142. Database 142 may include any type of data.
Server 120 may be coupled to Internet 100. Server 120 may host a Web service client 124. Web service client 124 may be configured to programmatically access application or service 108 of server 130 and/or database 142 via Web service interface 106. Note that Web service interface does not provide a “Web browser” interface, but instead provides a programmatic interface via an API through which at least some functionality of application or service 108 and/or at least some data in database 142 may be programmatically accessed by Web service client 124. Also note that server 120 may provide a Web site accessible to client(s) 122 via Web browsers, and Web service client 124 may be configured to access at least some functionality of application or service 108 and/or at least some data in database 142 of server 130 via Web service interface 106 to provide access to at least some functionality of application or service 108 and/or at least some data in database 142 via the Web site provided by server 120. Further, note that Web service client 124 may itself be another Web service.
To access an application, service or data provided by the Web service provider 130, Web service client 124 may send a request message to Web service interface 106 via Internet 100. This request message goes through the network and Internet infrastructures; through the Web service client 124's local network routers, switches, firewalls, etc., through the Internet backbone, to the Web service provider's local network, to server 130, and then to Web service interface 106. Web service provider 130 may then process the request, for example by performing an indicated function(s) of application or service 108 or accessing indicated data in database 142. Web service interface 106 may then return results of the processing to the Web service client 124 in a response message via Internet 100, back through the local networks and Internet backbone.
Web services may be used in a variety of applications. One example of an area in which Web services may be used is for product merchandising. A first enterprise may provide a Web site or Web application hosted on one or more Web servers that may access information from a second enterprise's Web server or Web servers through Web services provided by the second enterprise's Web server(s), such as product catalog information, to merchandise products from the product catalog through the first enterprise's Web site or Web application. The second enterprise may earn a commission from the first enterprise for each sale.
An enterprise may sublicense at least part of a collection of potentially copyrighted data owned by the enterprise, such as product information in a product catalog, to third party developers under some sort of licensing agreement. The third party developers may be given access to the data in a systematic fashion through a Web service interface, through which the third parties may request and receive copies of particular portions of the data collection. A third party developer may, in some cases, refurbish data received from the enterprise and/or sell it or redistribute it, possibly in violation of the licensing agreement.
Another example of an area in which Web services may be used is to provide excerpts from, or in some cases entire copies of, copyrighted textual works including, but not limited to, books, short stories, product reviews, book or movie reviews, news articles, editorial articles, technical papers, scholastic papers, and so on, to subscribed users of the Web service. An example is a Web service of an e-commerce Web site that sells books and that allows subscribed users to obtain and read excerpts from published or to-be-published books it offers for sale. A user may, in some cases, attempt to sell, redistribute or republish obtained excerpts, possibly in violation of the licensing agreement. Another potential problem is that a user may attempt to obtain enough excerpts from the work through the Web service to programmatically reconstruct the entire copyrighted work.
Data Protection Mechanisms
Various mechanisms for protecting copyrighted works and materials from unauthorized copying and/or for detecting illicit copies of copyrighted works have been implemented. Falsified content may be inserted into copyrighted material with the intent of deterring, and detecting, illicit or unauthorized copying of the material, both for works that are in print and electronic/digital works. For example, mapmakers may insert deliberately inaccurate or fictitious roads or place names in maps. Enterprises that provide phone directories may insert fictitious listings into the directories. The intent of this falsified content is to be perceivable but not easily recognizable as “false content” to the casual viewer, including those who might want to illicitly copy the material. The publisher of a work knows what content of the work is fictitious, but the copyright infringer does not. If some entity illicitly uses portions from this material that includes the falsified content, the illicit use may be detected by the inclusion of the falsified content. Conventionally, the same fictitious information is inserted into each published copy of a work.
“Watermarks” may be inserted into various works, both works that are in print and electronic/digital works. The intent of watermarks is generally to mark a work in such a way as to not interfere with the work itself, while providing a mechanism to help protect the work from being illicitly copied, or to at least to make it easier to detect illicit or unauthorized copies. Watermarks for printed works are generally invisible under normal conditions, and only visible under certain conditions, such as when a copy of the work is held up to a bright light. Digital watermarks are generally “invisible” and cannot be perceived by the casual viewer. As far as the casual viewer is concerned, the digital watermark is simply not there. This is in contrast with the inserted falsified content described above, which is readily perceivable by a person viewing the material including the falsified content, although the typical viewer does not recognize the content as fictitious. Conventionally, as is the case for the inserted falsified content described above, the same watermark is inserted into each published copy of a work.
Various works, both works that are in print and electronic/digital works, may be individually marked in such a way so that one particular copy of the work may be uniquely distinguished from another copy of the work. An example is the use of serial numbers on works, both “real” and electronic/digital works. Some mechanisms may “hide” this information so that it is not easily perceivable in the work.